1 using System.Collections;
2 using
System.Collections.Generic;
3 using
UnityEngine;
4 using
UnityEngine.UI;
5
6 public
class ObstacleHitController : MonoBehaviour {
7
8     
private Text obstacleTextOnHUD;
9     
private bool first = true;
10
11     
// Use this for initialization
12     
void Start () {
13         obstacleTextOnHUD = GameObject.Find(
"Canvas/TextObstacle").GetComponent<Text>();
14
15         obstacleTextOnHUD.text =
"Watch out for obstacles!";
16         obstacleTextOnHUD.enabled =
false;
17     }
18     
19     
// Update is called once per frame
20     
void Update () {
21         
if (!DataDictionary.getDD().getisPlaying() && first == true)
22         {
23             first =
false;
24             
int sc = DataDictionary.getDD().getlevel1Score() + DataDictionary.getDD().gettimeBonus();
25             obstacleTextOnHUD.text =
"Level Score: " + sc;
26             obstacleTextOnHUD.enabled =
true;
27             StartCoroutine(FadeTextToFullAlpha(
1f, obstacleTextOnHUD));
28         }
29     }
30
31     
private void OnCollisionEnter(Collision collision)
32     {
33         Debug.Log(
"Help: " + collision.gameObject.name);
34         
if (collision.gameObject.name.StartsWith("Pine_"))
35         {
36             StartCoroutine(
"obstacleCoroutine");
37             ResetScore();
38         }
39
40     }
41
42     
private void ResetScore()
43     {
44         DataDictionary.getDD().setlevel1Score(
0);
45         DataDictionary.getDD().clearhitList();
46     }
47    
48     IEnumerator obstacleCoroutine()
49     {
50         obstacleTextOnHUD.enabled =
true;
51         StartCoroutine(FadeTextToFullAlpha(
1f, obstacleTextOnHUD));
52         
yield return new WaitForSeconds(5);
53         obstacleTextOnHUD.enabled =
false;
54     }
55
56     
public IEnumerator FadeTextToFullAlpha(float t, Text i)
57     {
58         i.color =
new Color(i.color.r, i.color.g, i.color.b, 0);
59         
while (i.color.a < 1.0f)
60         {
61             i.color =
new Color(i.color.r, i.color.g, i.color.b, i.color.a + (Time.deltaTime / t));
62             
yield return null;
63         }
64     }
65
66 }


Gõ tìm kiếm nhanh...